package com.zimmur.app.mocolink.dao;

import com.zimmur.app.mocolink.domain.model.Menu;
import com.zimmur.app.mocolink.domain.model.MenuExample;
import com.zimmur.app.mocolink.domain.vo.MenuDetail;
import com.zimmur.app.mocolink.domain.vo.MenuVo;

import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface MenuMapper {
    int countByExample(MenuExample example);

    int deleteByExample(MenuExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Menu record);

    int insertSelective(Menu record);

    List<Menu> selectByExample(MenuExample example);

    Menu selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Menu record, @Param("example") MenuExample example);

    int updateByExample(@Param("record") Menu record, @Param("example") MenuExample example);

    int updateByPrimaryKeySelective(Menu record);

    int updateByPrimaryKey(Menu record);
    /**
     * 查询所有菜单和权限
     *@Description
     *@param roleId
     *@return 
     *@author zcx
     *@Time 2017年11月1日 下午4:51:02
     */
    List<MenuVo> selectMenuWithPermission(Integer roleId);
    /**
     * 查询角色菜单
     *@Description
     *@param roleList
     *@return 
     *@author zcx
     *@Time 2017年11月2日 上午9:21:38
     */
    List<MenuDetail> selectMenuByRoleId(@Param("list")List<Integer> roleList);
}